package com.hitqz.robot.api.business.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.util.Date;

@Schema(description = "机器人状态")
@Data
public class HomeRobotVo {
    @Schema(description = "id")
    private String id;
    @Schema(description = "sn")
    private String sn;
    @Schema(description = "机器人状态")
    private String name;

    private String onlineStatusStr;
    private String errorStatusStr;
    private String battery;
    private String voltage;
    private String current;
    private String workStatusStr;
    private String emergencyStopStr;
    private String speed;
    private String totalMileage;



    /**
     * 是否正常运行 true 正常 flase 离线
     */
    @Schema(description = "是否正常运行 true 正常 flase 离线")
    private Boolean normalFlag;
    /**
     * 工作中，充电
     */
    @Schema(description = "工作中，充电")
    private String runStatus;

    /**
     * 任务完成度
     */
    @Schema(description = "任务完成度")
    private String taskPercent;
    /**
     * 电量
     */
    @Schema(description = "电量")
    private String batteryPercent;


    /***-==========任务===========***/
    /**
     * 正在检测设备
     */
    @Schema(description = "正在检测设备")
    private String deviceName;
    /**
     * 正在检测项名称
     */
    @Schema(description = "正在检测项名称")
    private String patrolName;

    /**
     * 检查状态 1.patrolling patrolFinished
     */
    @Schema(description = "检查状态  patrolling 正在监察 patrolFinished 检查完成")
    private String patrolStatus;

    /**
     * 检查结果 normal notNormal
     */
    @Schema(description = "检查结果 normal 正常 notNormal 异常")
    private String patrolResult;


    @Schema(description = "检查时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date checkTime;

    /**
     * 上次任务执行结果
     */
    @Schema(description = "上次任务执行结果")
    private String lastInvokeResult;
    /**
     * 上次任务开始时间
     */
    @Schema(description = "上次任务开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date lastStartTime;
    /**
     * 上次任务结束时间
     */
    @Schema(description = "上次任务结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date lastEndTime;
    /**
     * 下次任务执行时间
     */
    @Schema(description = "下次任务执行时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date nextInvokeTime;
}
